package com.sl.au.service;

import java.util.List;
import java.util.Map;

import org.springframework.data.domain.Sort.Direction;

import com.sl.au.entity.EventRegister;
import com.sl.au.entity.TimeOutReceiveRegister;
import com.sl.au.repository.TimeoutTaskRepository;

public interface TimeOutTaskService extends BaseService {
	TimeoutTaskRepository getRepository();
	
	List<EventRegister> getTimeOutTaskForReceive(int start, int length, String taskStateId, String type, String key, String orderName, String dir);
	
	int getTimeOutTaskForReceiveCount(String taskStateId, String type, String key);
	
	int getTimeOutReceiveCount(String type);
	
	List<TimeOutReceiveRegister> getTimeOutTaskForDeal(int start, int length, String taskStateId, String type, String key, String orderName, String dir);
	
	int getTimeOutTaskForDealCount(String taskStateId, String type, String key);
	
	int getTimeOutDealCount(String type);
	
	
	List<Map<String, Object>> getTimeOutTaskForReceiveByRole(int start, int length, String roleId, String taskStateId, String type, String key, String orderName, String dir);
	
	int getTimeOutTaskForReceiveCountByRole(String roleId,String taskStateId, String type, String key);
	
	List<Map<String, Object>> getTimeOutTaskForDealByRole(int start, int length, String roleId, String taskStateId, String type, String key, String orderName, String dir);
	
	int getTimeOutTaskForDealCountByRole(String roleId, String taskStateId, String type, String key);
	
	int getTimeOutDealCountByRole(String roleId, String type);
	
	int getTimeOutReceiveCountByRole(String roleId, String type);
}
